
package persistencias;

import classes.Motorista;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;


public class PMotorista {
    
    private List<Motorista> motoristas = new ArrayList<Motorista>();
    int i;
    int j;
    
   public Motorista consultarCnh(Motorista motorista){
        for(i = 0; i< motoristas.size(); i++){
            if (motoristas.get(i).getCnh() == motorista.getCnh()) {
                System.out.println("Motorista já cadastrado");
                return motoristas.get(i);
            }
        }
        return null;
    }
    
        public int encontrar(Motorista motorista){
            i = -1;
            i = this.motoristas.indexOf(motorista);
            return i;
    }
    
    public void adicionar(Motorista motorista) {
        i = encontrar(motorista);
        if ( i == -1){
            this.motoristas.add(motorista);
        }
        else System.out.println("Motorista já cadastrado");
    }
    
    public void excluir(Motorista motorista) {
        j = encontrar(motorista);
        if (j != -1) { 
            this.motoristas.remove(j);
        }
    }

    public List<Motorista> getMotoristas() {
        return motoristas;
    }
    
    //Manipulação de Arquivos
    
    public void salvarMotoristasArquivo(List<Motorista> motoristas) throws IOException {
                FileWriter writer = new FileWriter(new File("motoristas.txt"));
                PrintWriter saida = new PrintWriter(writer);
                
                for( i=0; i < motoristas.size(); i++) {
                        saida.println(motoristas.get(i).getNome() + "," 
                        + motoristas.get(i).getCpf() + ","
                        + motoristas.get(i).getEndereco() + "," 
                        + motoristas.get(i).getTelefone() + ","
                        + motoristas.get(i).getCnh());
                }
                writer.close();
                saida.close();
        }
    
    public void carregarMotoristasArquivo(List<Motorista> motoristas) throws IOException {
                File arquivo = new File("motoristas.txt");
                
                if(!arquivo.exists()) arquivo.createNewFile();
                else {
               
                        FileReader leitura = new FileReader("motoristas.txt");
                        BufferedReader leitor = new BufferedReader(leitura);
                                
                        String linha = null;
                        String [] vetor = null;
                
                        while((linha = leitor.readLine()) != null) {
                                vetor = linha.split(",");
                        
                                String nome = vetor[0];
                                long cpf = Long.parseLong(vetor[1]);
                                String endereco = vetor[2];
                                long telefone = Long.parseLong(vetor[3]); 
                                long cnh = Long.parseLong(vetor[4]);
                        
                                Motorista novoMotorista = new Motorista(nome, cpf, endereco, telefone, cnh);
                
                                adicionar(novoMotorista);
                        }
                        leitor.close();
                        leitura.close();
                }
        }
    
} 
